The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventor(s), to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
In data networks, a frame of data (referred to herein generally as a “frame” or a “packet”) is often communicated between a sequence of devices (e.g., switches and routers) in order to reach a destination. Such a sequence of devices is commonly referred to as hops in a network path, in that frames are relayed through the network path one hop at a time. Inevitably, some of the devices may become busy due to the devices being located centrally within a data network (e.g., centralized hop points), while other devices, e.g., on peripheral arteries, may experience less traffic within a data network. Accordingly, managing the flow of frames between devices on a data network can be a complex task. For example, the flow of incoming frames to a device (e.g., centralized device) can exceed the device's ability to provide the frames downstream. To avoid having to drop the excess incoming frames, the device buffers the incoming frames in an internal memory and provides the buffered frames downstream as resources permit. However, if this condition persists for an extended period of time, the internal memory of the device can become full, thus causing frames to be dropped.
Accordingly, when the internal memory reaches a threshold level of fullness, the device can provide a message to an upstream device that halts all frames from the upstream device. The upstream device will then buffer the traffic, instead of sending the traffic, until the device can once again receive frames. While this approach provides a basic solution to minimize the dropping of frames during times of peak traffic, difficulties with, for example, frames that are time sensitive can arise due to increased wait times while the frames are buffered.